import admin.*
import autenticacao.*

class BootStrap {

      def springSecurityService
    
      def init = {
            def userRole = Perfil.findByAuthority('ROLE_USUARIO') ?: new Perfil(authority: 'ROLE_USUARIO').save(failOnError: true)
            def adminRole = Perfil.findByAuthority('ROLE_ADMIN') ?: new Perfil(authority: 'ROLE_ADMIN').save(failOnError: true)
            def vendedorRole = Perfil.findByAuthority('ROLE_VENDEDOR') ?: new Perfil(authority: 'ROLE_VENDEDOR').save(failOnError: true)
        
            def adminUser = Usuario.findByUsername('admin') ?: new Usuario(
                  username: 'admin',
                  password: 'admin',
                  enabled: true,
                  nome: 'ADMIN Designo',
                  email:'admin@designo.com.br',
                  endereco:'admin',
                  bairro: 'admin',
                  cidade: 'admin',
                  telefone: 'admin',
                  celular:'admin',
                  cep:'admin',
                  cpf:'admin',
                  rg:'admin').save(failOnError: true)

            if (!adminUser.authorities.contains(adminRole)) {
                  UsuarioPerfil.create adminUser, adminRole
            }
            def empresa = Empresa.findById(1)?: new Empresa (
                  apresentacao: 'texto',
                  endereco: 'endereço',
                  cep: '3333-3333',
                  telefone: '3333-3333',
                  bairro: 'centro',
                  cidade: 'Londrina',
                  estado: 'PR',
                  emailContato1: 'contato1@designo.com.br',
                  emailContato2: 'contato2@designo.com.br').save(failOnError: true)
      }
}
